package com.tucy.logistics.common.dto.fastMail;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tucy.logistics.common.base.BasePageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * author: tcy
 * createDate: 2023/10/9 19:54
 * description: 快递查询条件
 */
@Data
public class QueryMailDto extends BasePageQuery {

    @NotNull(message="[快递系统编号]不能为空")
    @ApiModelProperty("快递系统编号")
    private Long id;

    @ApiModelProperty("机构系统编号")
    private Long departmentId;

    @ApiModelProperty("快递员系统编号")
    private Long courierId;

    @ApiModelProperty("订单编号")
    private String orderNumber;

    @ApiModelProperty("业务类型：1-取件，2-派件")
    private Integer taskType;

    @ApiModelProperty("作业分配：1-未分配，2-已分配")
    private Integer assignStatus;

    @ApiModelProperty("签收状态：1-未签收，2-已签收")
    private Integer signStatus;

    @ApiModelProperty("签收类型：1-本人，2-代收")
    private Integer signRecipient;

    @ApiModelProperty("业务状态：1-新任务，2-已完成，3-已取消")
    private Integer mailStatus;

    @ApiModelProperty("预计开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date estimatedStartTime;

    @ApiModelProperty("实际开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date actualStartTime;

    @ApiModelProperty("预计结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date estimatedEndTime;

    @ApiModelProperty("实际结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date actualEndTime;
}
